1. Field of the Invention
The present invention relates to the computer graphics (CG), more particularly to the technique of transforming three-dimensional objects in a virtual three-dimensional space.
2. Related Background Art
In the field of computer graphics, a technique called skeleton transformation is conventionally known for expressing the actions of a three-dimensional object by changing the shape of the object determined with a plural number of vertexes. To perform the skeleton transformation, a plural number of virtual joints and bones are set in the three-dimensional object, the bones and joints are connected together in a hierarchy to form a set of bone data (called a skeleton), and the shape of the skeleton is changed.
For example, the neck portion of a human-shaped, three-dimensional object is provided with a neck joint which in turn is connected to the head bone made to correspond to the head portion of the human-shaped three-dimensional object. In this case, when the neck joint is rotated, the head bone is also rotated. The head portion of the human-shaped three-dimensional object corresponding to the head bone rotates according to the rotation of the head bone. As a result, the skeleton is transformed, and the three-dimensional object corresponding to the skeleton can be transformed.
However, when the three-dimensional object corresponding to the skeleton is transformed by transforming the skeleton in a simple manner, there may be a case in which the three-dimensional object cannot be displayed in a smooth shape since the vertexes of the three-dimensional object are buried inside the three-dimensional object or some of the polygons become too large.
Therefore, a technique as described in Japanese Patent Laid-open Publication No. Hei-10-74270 has been invented. This publication discloses a technique with which, when the direction data of a child virtual skeleton is to be changed, the position data of the vertex of the polygon corresponding to the child virtual skeleton is determined on the basis of: the position data of the vertex before being changed; the position data of the vertex determined from the direction data without using an influence degree data; and the influence degree data from the parent virtual skeleton and the child virtual skeleton set to each vertex.
The Japanese Patent Laid-open publication No. Hei-10-74270 further discloses that the position data of the vertex before being changed is used, which is possible if there is no movement of the virtual skeleton in the hierarchy higher than that of a child virtual skeleton. However, if there is any such movement, the position data of the vertex in the state must be calculated taking into consideration all the movement up to the parent skeleton. In many cases, two sets of position data of the vertex must be calculated by vertex conversion, from the position data of the vertex obtained from the direction data without using an influence degree data and the position data of the vertex in the state taking into consideration all the movement to the parent skeleton.
In other words, with the technique disclosed in the Japanese Patent Laid-open publication No. Hei-10-74270, the vertex conversion for each vertex is twice that of the case in which smoothness of shape is not required. As a result, the amount of processing required to keep the shape smooth increases with the increase in the number of vertexes for expressing the three-dimensional object.
Generally speaking, the greater the smoothness desired of the three-dimensional object, the greater becomes the number of vertexes for defining the shape of the three-dimensional object. Therefore, it is desired that the processing amount for making the shape smooth after transformation can be minimized even where the number of vertexes of the three-dimensional object increases.